import axios from 'axios'
import { history } from '@/route/history'
import BASE_URL from '../config/url'

axios.defaults.baseURL = BASE_URL

axios.defaults.withCredentials=true

axios.interceptors.request.use(function (config) {
  // config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
  // if(config.method === 'post') {
  //     config.data = qs.stringify( {
  //         ...config.data
  //     })
  // } 
  return config;
}, function (error) {
  return Promise.reject(error);
})

axios.interceptors.response.use(function (response) { 
  const { data } = response
  const code = data ? data.code : undefined
  if(code && code === '1'){
    // api 请求数据正常
    data.isSuccess = true
    return data
  }else if(code && code === '2001'){
    // 用户未登录
    history.push('/')
    return data
  }else if(code){
    // 其他状态码默认 不成功
    data.isSuccess = false
    return data
  }else {
    // 无状态码 默认返回
    return response;
  } 
}, function (error) {
  // console.log('axios.interceptors.response.error', error)
  // 对响应错误做点什么
  return Promise.reject(new Error('服务异常，请稍后使用'));
});

export default axios